<?php
/**
 * Define constantes de configuracion del framework
 * @author Robert babilonia <bobbabilon2@gmail.com>
 * OJO, ESTAS CONSTANTES NO DEBEN SER MODIFICADAS, FORMAN PARTE DE LOS 
 * ELEMENTOS DE CONFIGURACION ESENCIALES PARA QUE EL FRAME FUNCIONE 
 * CORRECTAMENTE
 */


/**
 * Indica el tiempo en milisegundos que duraran las notificaciones javascript en el frame
 */
define("JS_NOTIFICATION_TIME",'6000');

/**
 * Establece el espacio de nombres para las variables de sesion
 */
define("SESSION_NAME_SPACE",'default');


/**
 * Si SECURE_MODELS_BUGS esta seteado como TRUE, el siguiente parametro 
 * define el nombre del archivo log a generar
 * 
 */
define("LOG_AUDITOR","log_auditor_".date("d_m_y"));


/**
 * Define el nombre del archivo controlador central que tomara las peticiones
 * 
 */
define("FRONT_CONTROLLER", "commander_app.php");

/**
 * Identificador del url principal que toma las url.
 * Este archivo recibe las peticiones, verifica su composicion y envia la 
 * peticion al controlador frontal
 */
define("FRONT_URL", "index.php");

/**
 * Define la estructura del campo clave por defecto para las tablas en la bd
 */
define('DB_PRIMARY_KEY', 'id');

/**
 * Define el nombre del directorio de vistas para peticiones ajax por defecto en el frame
 */
define("AJAX_VIEW_DIR", '__ajax');

/**
 * Url absoluta de la peticion
 */
define('URL_PATH', $_SERVER['REQUEST_URI']);

/**
 * URL DE LA FORMA NOMBRE_APP/CONTROLADOR_FRONTAL.PHP
 * Al usar esta opcion solo resta indicar: controlador/metodo/patametros 
 * de la peticion
 */
define("BASIC_URL_PATH", $_SERVER['SCRIPT_NAME']);

/**
 * Contiene los datos del controlador,metodo y parametros recibidos por get
 */
define("URL_PARAMS", str_replace(BASIC_URL_PATH, "", URL_PATH));

/**
 * Ruta de includes PHP
 */
define("INCLUDE_PATH", dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR);

/**
 * Ruta del directorio de modulos
 */
define('MODULE_PATH', INCLUDE_PATH . '..' . DIRECTORY_SEPARATOR . 'mods' . DIRECTORY_SEPARATOR);

/**
 * ruta del directorio de librerias del usuario
 */
define('LIB_PATH', INCLUDE_PATH . 'user_libs' . DIRECTORY_SEPARATOR);

/**
 * ruta del directorio core del frame
 */
define('CORE_PATH', INCLUDE_PATH . 'core' . DIRECTORY_SEPARATOR);

/**
 * ruta del directorio models del frame
 */
define('MODEL_PATH', INCLUDE_PATH . 'models' . DIRECTORY_SEPARATOR);

/**
 * ruta del directorio views del frame
 */
define('VIEWS_PATH', INCLUDE_PATH . 'views' . DIRECTORY_SEPARATOR);

/**
 * ruta del directorio de logs del frame
 */
define('LOGS_PATH', INCLUDE_PATH . 'logs' . DIRECTORY_SEPARATOR);

/**
 * ruta del directorio de traducciones locale del frame
 */
define('LOCALE_PATH', INCLUDE_PATH . 'locale' . DIRECTORY_SEPARATOR);


/**
 * Ubicacion de la aplicacion en el servidor sin el url frontal
 */
define('APP_PATH', str_replace(FRONT_URL, '', BASIC_URL_PATH));

/**
 * Define la ruta del directorio public para hacer referencias http
 */
define("PUBLIC_PATH", APP_PATH . "public/");

/**
 * Define la ruta del directorio publico de imagenes de la aplicacion
 */
define("IMAGE_PATH", PUBLIC_PATH . "images/");

/**
 * Define la ruta del directorio publico de CSS de la aplicaion
 */
define("CSS_PATH", PUBLIC_PATH . "css/");

/**
 * Define la ruta del directorio publico de JS de la aplicaion
 */
define("JS_PATH", PUBLIC_PATH . "js/");

?>
